From 9d60f0d3de9ac3a800b2ba0b0aaec8715a7a869e Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Fri, 11 Feb 2011 17:56:24 +0000 Subject: [PATCH] libxl: allow guest to write "control/shutdown" xenstore node. The PV shutdown/reboot/suspend protocol requires that the guest acknowledge a request by clearing the node therefore it is necessary to allow the guest to write to the node. Currently libxl is quite relaxed about this protocol and doesn't reeally seem to mind that the guest is unable to write the node to perform the acknowledgement. However in a followup patch libxl needs to be able to detect that a guest has acknowledged a suspend request. A side effect of this change is that an empty "control/shutdown" node is created upon domain creation instead of only being created when a shutdown/reboot/suspend is requested. This should not (and does not in my tests) have any negative impact on the guest. Signed-off-by: Ian Campbell Committed-by: Ian Jackson --- tools/libxl/libxl_create.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c index 260d3c0a91..d94480e801 100644 --- a/tools/libxl/libxl_create.c +++ b/tools/libxl/libxl_create.c @@ -287,7 +287,7 @@ int libxl__domain_make(libxl_ctx *ctx, libxl_domain_create_info *info, libxl__gc gc = LIBXL_INIT_GC(ctx); /* fixme: should be done by caller */ int flags, ret, i, rc; char *uuid_string; - char *rw_paths[] = { "device", "device/suspend/event-channel" , "data"}; + char *rw_paths[] = { "control/shutdown", "device", "device/suspend/event-channel" , "data"}; char *ro_paths[] = { "cpu", "memory", "device", "error", "drivers", "control", "attr", "messages" }; char *dom_path, *vm_path; -- 2.30.2